﻿
namespace QDP.Platform.Services
{
    /// <summary>表示一个日志记录服务</summary>
    public interface ILoggerService : IService
    {
        /// <summary>获取或设置引擎是否记录Debug类型日志</summary>
        bool IsDebug { get; set; }
        /// <summary>获取或设置引擎是否记录Info类型日志</summary>
        bool IsInfo { get; set; }
        /// <summary>获取或设置引擎是否记录Warn类型日志</summary>
        bool IsWarn { get; set; }
        /// <summary>获取或设置引擎是否记录Fatal类型日志</summary>
        bool IsFatal { get; set; }
        /// <summary>获取或设置引擎是否记录Error类型日志</summary>
        bool IsError { get; set; }
        /// <summary>记录Debug日志</summary>
        /// <param name="format"></param>
        /// <param name="args"></param>
        void Debug(string appid, string format, params object[] args);
        /// <summary>记录info日志</summary>
        /// <param name="format"></param>
        /// <param name="args"></param>
        void Info(string appid, string format, params object[] args);
        /// <summary>记录warn日志</summary>
        /// <param name="format"></param>
        /// <param name="args"></param>
        void Warn(string appid, string format, params object[] args);
        /// <summary>记录error日志</summary>
        /// <param name="format"></param>
        /// <param name="args"></param>
        void Error(string appid, string format, params object[] args);
        /// <summary>记录fatal日志</summary>
        /// <param name="format"></param>
        /// <param name="args"></param>
        void Fatal(string appid, string format, params object[] args);
    }
}